package com.cqut.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.cqut.model.User;

public interface UserMapperExtra {

	 List<Map<String, Object>> findUserContent();

	int judgeRepetition(
			@Param("userName")
			String userName,
			@Param("userNo")
			String userNo);

	Map<String, Object> findUserById(
			@Param("curUserid")
			String curUserid);

	List<Map<String, Object>> searchForUser(
			@Param("userType")
			Integer userType, 
			@Param("userName")
			String userName,
			@Param("start")
			int start,
			@Param("end")
			int end);

	String searchForUserNo(
			@Param("userType")
			Integer userType, 
			@Param("userName")
			String userName, 
			@Param("start")
			int start,
			@Param("end")
			int end);

	Object judgePassword(
			@Param("curUserid")
			String curUserid,
			@Param("oldPassword")
			String oldPassword);

	int updatePassword(
			@Param("curUserid")
			String curUserid,
			@Param("oldPassword")
			String password);

	int startUserById(
			@Param("userId")
			String userId);

	int forbiddenUserById(
			@Param("userId")
			String userId);

	int duplicateCheckingUserName(
			@Param("userName")
			String userName);

	int duplicateCheckingUserCode(
			@Param("userNo")
			String userNo);

	Map<String, Object> getLoginInfo(
			@Param("curUserid")
			String curUserid);

	List<Map<String, Object>> getRole();

	int deleteUsersByIds(
			@Param("userIds")
			String[] userIds);

	int addStudent(User user);

	int searchUserForNo(
			@Param("userNo")
			String userNo);

	int addStudent(
			@Param("userId")
			String userId, 
			@Param("userNo")
			String userNo, 
			@Param("roleId")
			String roleId,
			@Param("userPassword")
			String userPassword, 
			@Param("userType")
			Integer userType);
}
